return 0;
}
+static void
+print_version (void)
+{
+ g_print ("gtk3-demo %d.%d.%d\n",
+ gtk_get_major_version (),
+ gtk_get_minor_version (),
+ gtk_get_micro_version ());
+}
+
+static int
+local_options (GApplication *app,
+ GVariantDict *options,
+ gpointer data)
+{
+ gboolean version = FALSE;
+
+ g_variant_dict_lookup (options, "version", "b", &version);
+
+ if (version)
+ {
+ print_version ();
+ return 0;
+ }
+
+ return -1;
+}
+
int
main (int argc, char **argv)
{
app_entries, G_N_ELEMENTS (app_entries),
app);
+ g_application_add_main_option (G_APPLICATION (app), "version", 0, 0, G_OPTION_ARG_NONE, "Show program version", NULL);
g_application_add_main_option (G_APPLICATION (app), "run", 0, 0, G_OPTION_ARG_STRING, "Run an example", "EXAMPLE");
g_application_add_main_option (G_APPLICATION (app), "list", 0, 0, G_OPTION_ARG_NONE, "List examples", NULL);
g_application_add_main_option (G_APPLICATION (app), "autoquit", 0, 0, G_OPTION_ARG_NONE, "Quit after a delay", NULL);
g_signal_connect (app, "startup", G_CALLBACK (startup), NULL);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
g_signal_connect (app, "command-line", G_CALLBACK (command_line), NULL);
+ g_signal_connect (app, "handle-local-options", G_CALLBACK (local_options), NULL);
g_application_run (G_APPLICATION (app), argc, argv);